<?php

require_once("config.class.php");
require_once("Acesso_control.php");
set_time_limit(9000);

class Importacao {
	
	public function upercase_utf8($term) {
	    $palavra = strtr(strtoupper(utf8_decode($term)),"������������������������������","������������������������������"); 
		return $palavra;
		
    }
	public function modulo_11($num, $base=9, $r=0)  {
	  /**
	   *
	   *   Fun��o:
	   *    Calculo do Modulo 11 para geracao do digito verificador 
	   *    de boletos bancarios conforme documentos obtidos 
	   *    da Febraban - www.febraban.org.br 
	   *
	   *   Entrada:
	   *     $num: string num�rica para a qual se deseja calcularo digito verificador;
	   *     $base: valor maximo de multiplicacao [2-$base]
	   *     $r: quando especificado um devolve somente o resto
	   *
	   *   Sa�da:
	   *     Retorna o Digito verificador.
	   *
	   *   Observa��es:
	   *     - Script desenvolvido sem nenhum reaproveitamento de c�digo pr� existente.
	   *     - Assume-se que a verifica��o do formato das vari�veis de entrada � feita antes da execu��o deste script.
	   */                                        
  
	  $soma = 0;
	  $fator = 2;
  
	  /* Separacao dos numeros */
	  for ($i = strlen($num); $i > 0; $i--) {
		  // pega cada numero isoladamente
		  $numeros[$i] = substr($num,$i-1,1);
		  // Efetua multiplicacao do numero pelo falor
		  $parcial[$i] = $numeros[$i] * $fator;
		  // Soma dos digitos
		  $soma += $parcial[$i];
		  if ($fator == $base) {
			  // restaura fator de multiplicacao para 2 
			  $fator = 1;
		  }
		  $fator++;
	  }
  
	  /* Calculo do modulo 11 */
	  if ($r == 0) {
		  $soma *= 10;
		  $digito = $soma % 11;
		  if ($digito == 10) {
			  $digito = 0;
		  }
		  return $digito;
	  } elseif ($r == 1){
		  $resto = $soma % 11;
		  return $resto;
	  }
    }

	public function geraCodigoBanco($numero) {
	  $parte1 = substr($numero, 0, 3);
	  $parte2 = $this->modulo_11($parte1);
	  return $parte1 . "-" . $parte2;
    }
	
	public function digitoVerificador_barra($numero) {
	  $resto2 = $this->modulo_11($numero, 9, 1);
	   if ($resto2 == 0 || $resto2 == 1 || $resto2 == 10) {
		  $dv = 1;
	   } else {
		  $dv = 11 - $resto2;
	   }
	   return $dv;
    }
	
	public function digitoVerificador_nossonumero($numero) {
	  $resto2 = $this->modulo_11($numero, 7, 1);
	   $digito = 11 - $resto2;
	   if ($digito == 10) {
		  $dv = "P";
	   } elseif($digito == 11) {
		  $dv = 0;
	  } else {
		  $dv = $digito;
		  }
	   return $dv;
    }
	
	
	public function formata_numero($numero,$loop,$insert,$tipo = "geral") {//formata com 0 
	  if ($tipo == "geral") {
		  $numero = str_replace(",","",$numero);
		  while(strlen($numero)<$loop){
			  $numero = $insert . $numero;
		  }
	  }
	  if ($tipo == "valor") {
		  /*
		  retira as virgulas
		  formata o numero
		  preenche com zeros
		  */
		  $numero = str_replace(",","",$numero);
		  while(strlen($numero)<$loop){
			  $numero = $insert . $numero;
		  }
	  }
	  if ($tipo == "convenio") {
		  while(strlen($numero)<$loop){
			  $numero = $numero . $insert;
		  }
	  }
	  return $numero;
    }
	
	public function _dateToDays($year,$month,$day) {
	  $century = substr($year, 0, 2);
	  $year = substr($year, 2, 2);
	  if ($month > 2) {
		  $month -= 3;
	  } else {
		  $month += 9;
		  if ($year) {
			  $year--;
		  } else {
			  $year = 99;
			  $century --;
		  }
	  }
	  return ( floor((  146097 * $century)    /  4 ) +
			  floor(( 1461 * $year)        /  4 ) +
			  floor(( 153 * $month +  2) /  5 ) +
				  $day +  1721119);
    }
	
	public function fator_vencimento($data) {
	  $data = explode("/",$data);
	  $ano = $data[2];
	  $mes = $data[1];
	  $dia = $data[0];
	  return(abs(($this->_dateToDays("1997","10","07")) - ($this->_dateToDays($ano, $mes, $dia))));
    }
	
	public function bloco_dv($num){
	  $numtotal10 = 0;
		  $fator = 2;
  
		  // Separacao dos numeros
		  for ($i = strlen($num); $i > 0; $i--) {
			  // pega cada numero isoladamente
			  $numeros[$i] = substr($num,$i-1,1);
			  // Efetua multiplicacao do numero pelo (falor 10)
			  // 2002-07-07 01:33:34 Macete para adequar ao Mod10 do Ita�
			  $temp = $numeros[$i] * $fator; 
			  $temp0=0;
			  foreach (preg_split('//',$temp,-1,PREG_SPLIT_NO_EMPTY) as $k=>$v){ $temp0+=$v; }
			  $parcial10[$i] = $temp0; //$numeros[$i] * $fator;
			  // monta sequencia para soma dos digitos no (modulo 10)
			  $numtotal10 += $parcial10[$i];
			  if ($fator == 2) {
				  $fator = 1;
			  } else {
				  $fator = 2; // intercala fator de multiplicacao (modulo 10)
			  }
		  }
		  
		  // v�rias linhas removidas, vide fun��o original
		  // Calculo do modulo 10
		  $resto = $numtotal10 % 10;
		  $digito = 10 - $resto;
		  if ($resto == 0) {
			  $digito = 0;
		  }
		  
		  return $digito;
        }
	
	public function formatarCPF_CNPJ($campo, $formatado = true){
	  //retira formato
	  $codigoLimpo = str_replace("[' '-./ t]",'',$campo);
	  // pega o tamanho da string menos os digitos verificadores
	  $tamanho = (strlen($codigoLimpo) -2);
	  //verifica se o tamanho do c�digo informado � v�lido
	  if ($tamanho != 9 && $tamanho != 12){
		  return false; 
	  }
   
	  if ($formatado){ 
		  // seleciona a m�scara para cpf ou cnpj
		  $mascara = ($tamanho == 9) ? '###.###.###-##' : '##.###.###/####-##'; 
   
		  $indice = -1;
		  for ($i=0; $i < strlen($mascara); $i++) {
			  if ($mascara[$i]=='#') $mascara[$i] = $codigoLimpo[++$indice];
		  }
		  //retorna o campo formatado
		  $retorno = $mascara;
   
	  }else{
		  //se n�o quer formatado, retorna o campo limpo
		  $retorno = $codigoLimpo;
	  }
   
	  return $retorno;
 
}
	
	public function importar_boletos_cnab($relacao_boletos,$numero_linhas,$unidade) {//importa��o de boletos bancarios
		 $conexao    = new Conexao;

        // Conectando base dados, conforme a unidade.
        if($unidade == 3) {
             $params = array('host'     => '10.0.0.15', // '10.0.0.15\MSSQLSERVER,1433'
                'login'    => 'rm',
                'senha'    => 'rm',
                'database' => 'CORPORELICEU');
        } else {
            $params = array('host'     => '10.1.1.21', // 10.1.1.21\MSSQLSERVER,1433
                'login'    => 'rm',
                'senha'    => 'rm',
                'database' => 'CORPORE');

         }

         $conexaoSrv = new ConexaoMSSQL($params);

         $cont_insert=0;
		 $percent="";
		 $cont=0;
		 $total=$numero_linhas;
		 $editar = new Importacao;

		  //agencia 5 digitos / completo
		  $agencia_completa = "41505";
		  //agencia � 4 digitos
		  $agencia = "4150";
		  //conta � 6 digitos
		  $conta = "000320";
		  //dv da conta
		  $conta_dv = "4";
		  //carteira � 2 caracteres
		  $carteira = "09";
		  $codigobanco = "237";
		  $codigo_banco_com_dv = $editar->geraCodigoBanco($codigobanco);
		  $nummoeda = "9";
		  //conta cedente (sem dv) � 7 digitos
		  $conta_cedente = "0000320";
		  //dv da conta cedente
		  $conta_cedente_dv = "4";
		  $instrucao_1="AP�S VENCIMENTO PAGUE SOMENTE NO BANCO BRADESCO";
		  $instrucao_2="AP�S VENCIMENTO COBRAR MULTA DE 2% + MORA DIA DE 0,033%.";
		 
		foreach($relacao_boletos as $boletos){
			$cont++;
		 
			 ////////////////////////////////////-Progress Bar-////////////////////////////
			// Calculate the percentation
			$percent = intval($cont/$total * 100)."%";
		 
			// Javascript for updating the progress bar and information
			echo '<script language="javascript">
			document.getElementById("progress2").innerHTML="<div style=\"width:'.$percent.';background:url(../img/progress-bar.gif);\">&nbsp;</div>";
			document.getElementById("information2").innerHTML="'.$cont.' linhas(s) Atualizadas(grava&ccedil;&atilde;o).      '.$percent.' ";
			</script>';
		 
			// This is for the buffer achieve the minimum size in order to flush data
			//echo str_repeat(' ',1024*64);
		 
			// Send output to browser immediately
			flush();
			////////////////////////////////////-Progress Bar-////////////////////////////
			
			$boleto=implode($boletos);
			//print_r($boletos);
			$moeda = substr($boleto,393,1);
			$instrucao = strtr(strtoupper(substr($boleto,351,40)),"������������������������������","������������������������������");
			$estado = substr($boleto,349,2);
			$cidade = str_replace( "'", "\'",substr($boleto,334,15));
			$cep = substr($boleto,326,7);
			$bairro = str_replace( "'", "\'",substr($boleto,314,10));
			$rua = str_replace( "'", "\'",substr($boleto, 274, 29));
			$numero =substr($boleto, 303, 10);
			//$nome = substr($boleto, 234, 40);
			$nome = str_replace( "'", "\'",substr($boleto, 234, 40));
			$campo_cpf_cnpj = substr($boleto, 220, 14);
			if(substr($campo_cpf_cnpj, 0, 3)=="000"){
				$campo_cpf_cnpj = substr($campo_cpf_cnpj, 3, 11);
			}
			$cpf_cnpj=$editar->formatarCPF_CNPJ($campo_cpf_cnpj,true);
			$dia_util = substr($boleto, 173, 6);
			$ano_util="";
			$data_util="";

            if($dia_util!="" or $dia_util!=" "){

               if(substr($dia_util,4,2)=="13"){
				  $ano_util="2013";
			  }else if(substr($dia_util,4,2)=="14"){
				  $ano_util="2014";
			  }else if(substr($dia_util,4,2)=="15"){
                  $ano_util="2015";
              }else if(substr($dia_util,4,2)=="16"){
                  $ano_util="2016";
              }else if(substr($dia_util,4,2)=="17"){
                  $ano_util="2017";
              }else if(substr($dia_util,4,2)=="18"){
                  $ano_util="2018";
              }else if(substr($dia_util,4,2)=="19"){
                  $ano_util="2019";
              }else if( substr($dia_util,4,2)=="00"){
                  $ano_util = date("Y");
                  $dia_util = date("dmy");
              }else{
                  die("Data $dia_util vencimento maior que o cadastro de boleto! ");
              }

			  if($ano_util!=""){
			     $data_util=substr($dia_util,0,2)."/".substr($dia_util,2,2)."/".$ano_util;
			  }
			}
			$desconto = number_format((substr($boleto, 179, 13)/100), 2, '.', '');



			
			//$filial = substr($boleto, 39, 1);
            $documento = substr($boleto, 110, 10);
            $nossonumero = substr($boleto, 63, 6);


            if($unidade=="1"){//São paulo
                $nossonumero='0921083'.$nossonumero;

            }else if($unidade=="2"){//Leão - mesma de descalvado
                $nossonumero='0921112'.$nossonumero;

            }else if($unidade== "3"  ) { //Liceu
                $nossonumero ='0921114'.$nossonumero;

            }else if($unidade== "4"  ) { //Cliente/Fornecedor
                $nossonumero ='0921083'.$nossonumero;

            }else if($unidade== "5"  ) { //EAD
                $nossonumero ='0921083'.$nossonumero;

            }else if($unidade== "6"  ) { //Conta caixa 99
                $nossonumero ='1621172'.$nossonumero;

            }else if($unidade=="7"){//Fernandopolis
                $nossonumero='0921113'.$nossonumero;

            }else if($unidade=="8"){//Descalvado
                $nossonumero='0921112'.$nossonumero;

            }else if($unidade=="9"){//Acordo
                $nossonumero='0921147'.$nossonumero;
            }else{
                die("Unidade não cadastrada!");
            }

			$valor_original = number_format((substr($boleto, 126, 13)/100), 2, '.', '');
			//formulando data de vencimento
			$data_vencimento = substr($boleto, 120, 6);
			if(substr($data_vencimento,4,2)=="13"){
				$ano_vencimento="2013";
			}else if(substr($data_vencimento,4,2)=="14"){
				$ano_vencimento="2014";
			}else if(substr($data_vencimento,4,2)=="15"){
				$ano_vencimento="2015";
			}else if(substr($data_vencimento,4,2)=="16"){
				$ano_vencimento="2016";
			}else if(substr($data_vencimento,4,2)=="17"){
				$ano_vencimento="2017";
			}else if(substr($data_vencimento,4,2)=="18"){
				$ano_vencimento="2018";
			}else if(substr($data_vencimento,4,2)=="19"){
				$ano_vencimento="2019";
			}
			
			$vencimento=$ano_vencimento."-".substr($data_vencimento,2,2)."-".substr($data_vencimento,0,2);
			//
			$instrucao_desconto=$data_util;
			
			//formulando data de emiss�o
			$data_emi = substr($boleto, 150, 6);
			if(substr($data_emi,4,2)=="13"){
				$ano_emi="2013";
			}else if(substr($data_emi,4,2)=="14"){
				$ano_emi="2014";
			}else if(substr($data_emi,4,2)=="15"){
				$ano_emi="2015";
			}else if(substr($data_emi,4,2)=="16"){
				$ano_emi="2016";
			}else if(substr($data_emi,4,2)=="17"){
				$ano_emi="2017";
			}else if(substr($data_emi,4,2)=="18"){
				$ano_emi="2018";
			}else if(substr($data_emi,4,2)=="19"){
				$ano_emi="2019";
			}
			$data_emissao=$ano_emi."-".substr($data_emi,2,2)."-".substr($data_emi,0,2);
			
			//linha digitav�l e codigo de barras
			//########################################inicio###############################################
			
			$fator_vencimento = $editar->fator_vencimento(substr($data_vencimento,0,2)."/".substr($data_vencimento,2,2)."/".$ano_vencimento);// Data de Vencimento do Boleto - REGRA: Formato DD/MM/AAAA
			
			//valor tem 10 digitos, sem virgula
			$valor = $editar->formata_numero(str_replace(".","", number_format($valor_original, 2, '', '.')),10,0,"valor");
			
			//nosso n�mero (sem dv) � 11 digitos
			$nnum = $nossonumero;
			//dv do nosso n�mero
			$dv_nosso_numero = $editar->digitoVerificador_nossonumero($nnum);
			
			$campo_livre=$agencia.$nossonumero.$conta_cedente."0";

			$campo_codigo_barras_calculo=$codigobanco.$nummoeda.$fator_vencimento.$valor.$campo_livre;
			
			$dg_bloco1=$editar->bloco_dv($codigobanco.$nummoeda.substr($campo_livre,0,5));
			$dg_bloco2=$editar->bloco_dv(substr($nossonumero,1,10));
			$dg_bloco3=$editar->bloco_dv(substr($campo_livre,15,25));
			// 43 numeros para o calculo do digito verificador do codigo de barras
			$dv_codigo_barras=$this->digitoVerificador_barra($campo_codigo_barras_calculo);
			
			$campo_barras=$codigobanco.$nummoeda.$dv_codigo_barras.$fator_vencimento.$valor.$campo_livre;
			
			/////////////////////blocos/////////////////
			$bloco_1=$codigobanco.$nummoeda.substr($campo_livre,0,5).$dg_bloco1;
			$bloco_2=substr($nossonumero, 1, 10).$dg_bloco2;
			$bloco_3=substr($campo_livre, 15, 25).$dg_bloco3;
			$bloco_4=$fator_vencimento.$valor;
			
			$linha_digitavel=substr($bloco_1,0,5).".".substr($bloco_1,5,10)." ".substr($bloco_2,0,5).".".substr($bloco_2,5,11)." ".substr($bloco_3,0,5).".".substr($bloco_3,5,11)." ".$dv_codigo_barras." ".$bloco_4;
			
			$codigo_barras = $linha_digitavel;

			$codigo_barras = $campo_barras;
			
			
			//######################fim codigo de barras / linha digitavel###################################

			$sql_insert="INSERT INTO boletos (
				filial,
				matricula,
				nome,
				curso_cod,
				cod_per,
				curso_nome,
				nosso_numero,
				documento,
				valor,
				vencimento,
				banco,
				agencia,
				conta,
				dg_conta,
				carteira,
				periodo_letivo,
				status_lan,
				codigo_servico,
				valor_desconto,
				parcela,
				resp_financeiro,
				instrucao_desconto,
				data_emissao,
				instrucao_1,
				instrucao_2,
				instrucao_3,
				turma,
				cod_resp,
				cpf_cnpj_resp,
				rua_resp,
				numero_resp,
				bairro_resp,
				cidade_resp,
				uf_resp,
				cep_resp,tipo,ipte,codigo_barras) 
			  values ('".$unidade."', 
			  '', 
			  '".$nome."', 
			  '0', 
			  '', 
			  '', 
			  '".$nossonumero."', 
			  '".$documento."', 
			  '".$valor_original."', 
			  '".$vencimento."', 
			  '".$codigobanco."', 
			  '".$agencia_completa."', 
			  '".$conta_cedente."', 
			  '".$conta_dv."', 
			  '".$carteira."', 
			  ' ', 
			  '0', 
			  '0', 
			  '".$desconto."',
			  '1', 
			  '".$nome."', 
			  '".$instrucao_desconto."', 
			  '".$data_emissao."', 
			  '".$instrucao."', 
			  '".$instrucao_1."',
			  '".$instrucao_2."',
			  '',
			   ' ',
			   '".$cpf_cnpj."',
			   '".$rua."',
			   '".$numero."',
			   '".$bairro."',
			  '".$cidade."',
			   '".$estado."',
			   '".$cep."',
			   '0',
			   '".$linha_digitavel."',
			   '".$codigo_barras."'
			   ) ON DUPLICATE KEY UPDATE 
			    filial='".$unidade."',
				matricula='',
				nome='".$nome."',
				curso_cod='0',
				cod_per='',
				curso_nome='',
				nosso_numero='".$nossonumero."',
				documento='".$documento."',
				valor='".$valor_original."',
				vencimento='".$vencimento."',
				banco='".$codigobanco."',
				agencia='".$agencia_completa."',
				conta='".$conta_cedente."',
				dg_conta='".$conta_dv."',
				carteira='".$carteira."',
				periodo_letivo='',
				status_lan='0',
				codigo_servico='0',
				valor_desconto='".$desconto."',
				parcela='1',
				resp_financeiro='".$nome."',
				instrucao_desconto='".$instrucao_desconto."',
				data_emissao='".$data_emissao."',
				instrucao_1='".$instrucao."',
				instrucao_2='".$instrucao_1."',
				instrucao_3='".$instrucao_2."',
				turma='',
				cod_resp=' ',
				cpf_cnpj_resp='".$cpf_cnpj."',
				rua_resp='".$rua."',
				numero_resp='".$numero."',
				bairro_resp='".$bairro."',
				cidade_resp='".$cidade."',
				uf_resp='".$estado."',
				cep_resp='".$cep."',
				tipo='0',
				ipte='".$linha_digitavel."',
				codigo_barras='".$codigo_barras."' ";
			  
			  //echo "<br><br>".$sql_insert;
			if($conexao->execSQL($sql_insert)){
					$cont_insert++;
					//echo $sql_insert;
                    $linha_digitavel = trim(str_replace(" ","",str_replace(".","",$linha_digitavel)));

                    $sqlsrv = "UPDATE flan
                               SET CODIGOBARRA='".$codigo_barras."',
                                    IPTE='".$linha_digitavel."',
                                    CAMPOALFAOP2='".$dv_nosso_numero."'
                               WHERE IDLAN =".$documento;

                    $conexaoSrv->query($sqlsrv);

			}else{
				echo "Erro ao inserir Boleto...<br> ".$sql_insert." <br>";
				return false;
			}
			 
			  
	   }//fim la�o foreach

	   echo "Foram Inseridos/Atualizados ".$cont_insert." boletos";
	   echo '<script language="javascript">document.getElementById("information2").innerHTML="Atualiza&ccedil;&atilde;o finalizada..."</script>';
	   return true;
	
	
	}

   public function importar_boletos($relacao_boletos,$numero_linhas) {//importa��o de boletos bancarios
	   $conexao=new Conexao;
	   $cont_insert=0;
	   $percent="";
	   $cont=0;
	   $total=$numero_linhas;
	   
       foreach($relacao_boletos as $boleto){
		    
			$cont++;
			 ////////////////////////////////////-Progress Bar-////////////////////////////
			// Calculate the percentation
			$percent = intval($cont/$total * 100)."%";
		 
			// Javascript for updating the progress bar and information
			echo '<script language="javascript">
			document.getElementById("progress2").innerHTML="<div style=\"width:'.$percent.';background:url(../img/progress-bar.gif);\">&nbsp;</div>";
			document.getElementById("information2").innerHTML="'.$cont.' linhas(s) Atualizadas(grava&ccedil;&atilde;o).      '.$percent.' ";
			</script>';
		 
			// This is for the buffer achieve the minimum size in order to flush data
			//echo str_repeat(' ',1024*64);
		 
			// Send output to browser immediately
			flush();
			////////////////////////////////////-Progress Bar-////////////////////////////

		   if($boleto[0]!=""){
			   
				$turma=trim($boleto[27]);
				if($turma!='NULL'){
					$turma="'".$turma."'";
				}
				$nome=str_replace("'", "\'",$boleto[2]);
				$resp_financeiro=str_replace("'", "\'",$boleto[21]);
				$filial=ltrim($boleto[0]);
				$cidade_resp = str_replace("'","\'",$boleto[33]);
				
				$bairro_resp = str_replace("'"," ",$boleto[32]);
				$numero_resp = str_replace("'"," ",$boleto[31]);
				$end_resp = str_replace("'","\'",$boleto[30]);
				$cep_resp = str_replace("'"," ",$boleto[35]);
				if($boleto[19]!=''){
					$desconto = str_replace(".","",$boleto[19]);
					$desconto = str_replace(",",".",$desconto);
				}else{
					$desconto='0';
				}
				if($boleto[35]!=''){
					$cod_curso = $boleto[3];
				}else{
					$cod_curso = '0';
				}
				if($boleto[20]!=''){
					$parcela=$boleto[20];
				}else{
					$parcela='1';
				}
				

				$sql_insert="INSERT INTO boletos (
				filial,
				matricula,
				nome,
				curso_cod,
				cod_per,
				curso_nome,
				nosso_numero,
				documento,
				valor,
				vencimento,
				banco,
				agencia,
				conta,
				dg_conta,
				carteira,
				periodo_letivo,
				status_lan,
				codigo_servico,
				valor_desconto,
				parcela,
				resp_financeiro,
				instrucao_desconto,
				data_emissao,
				instrucao_1,
				instrucao_2,
				instrucao_3,
				turma,
				cod_resp,
				cpf_cnpj_resp,
				rua_resp,
				numero_resp,
				bairro_resp,
				cidade_resp,
				uf_resp,
				cep_resp,
				tipo,
				instrucao_4,
				instrucao_5,
				instrucao_6) 
			  values ('".$filial."', 
			  '".$boleto[1]."', 
			  '".$nome."', 
			  '".$cod_curso."', 
			  '".$boleto[4]."', 
			  '".$boleto[5]."', 
			  '".$boleto[6]."', 
			  '".$boleto[7]."', 
			  '".$boleto[8]."', 
			  '".$boleto[9]."', 
			  '".$boleto[10]."', 
			  '".$boleto[11]."', 
			  '".$boleto[12]."', 
			  '".$boleto[13]."', 
			 '".$boleto[14]."', 
			  '".$boleto[15]."', 
			  '".$boleto[16]."', 
			  '".$boleto[17]."', 
			  '".$desconto."',
			  '".$parcela."', 
			  '".$resp_financeiro."', 
			  '".$boleto[22]."', 
			  '".$boleto[23]."', 
			  '".$boleto[24]."', 
			  '".$boleto[25]."',
			  '".$boleto[26]."',
			   ".$turma.",
			   '".$boleto[28]."',
			   '".$boleto[29]."',
			   '".$end_resp."',
			   '".$numero_resp."',
			   '".$bairro_resp."',
			  '".$cidade_resp."',
			   '".$boleto[34]."',
			   '".$cep_resp."',
			   '".$boleto[36]."',
			   '".$boleto[37]."',
			   '".$boleto[38]."',
			   '".$boleto[39]."',
			   ) ON DUPLICATE KEY UPDATE 
			    filial='".$filial."',
				matricula='".$boleto[1]."',
				nome='".$nome."',
				curso_cod='".$cod_curso."',
				cod_per='".$boleto[4]."',
				curso_nome='".$boleto[5]."',
				nosso_numero='".$boleto[6]."',
				documento='".$boleto[7]."',
				valor='".$boleto[8]."',
				vencimento='".$boleto[9]."',
				banco='".$boleto[10]."',
				agencia='".$boleto[11]."',
				conta='".$boleto[12]."',
				dg_conta='".$boleto[13]."',
				carteira='".$boleto[14]."',
				periodo_letivo='".$boleto[15]."',
				status_lan='".$boleto[16]."',
				codigo_servico='".$boleto[17]."',
				valor_desconto='".$desconto."',
				parcela='".$parcela."',
				resp_financeiro='".$resp_financeiro."',
				instrucao_desconto='".$boleto[22]."',
				data_emissao='".$boleto[23]."',
				instrucao_1='".$boleto[24]."',
				instrucao_2='".$boleto[25]."',
				instrucao_3='".$boleto[26]."',
				turma=".$turma.",
				cod_resp='".$boleto[28]."',
				cpf_cnpj_resp='".$boleto[29]."',
				rua_resp='".$end_resp."',
				numero_resp='".$numero_resp."',
				bairro_resp='".$bairro_resp."',
				cidade_resp='".$cidade_resp."',
				uf_resp='".$boleto[34]."',
				cep_resp='".$cep_resp."',
				tipo='".$boleto[36]."',
				instrucao_4='".$boleto[37]."',
				instrucao_5='".$boleto[38]."',
				instrucao_6='".$boleto[39]."' ";
			  
			 // echo "<br><br>".$sql_insert;
				if($conexao->execSQL($sql_insert)){
					$cont_insert++;
					//echo $sql_insert;
				}else{
					echo "Erro ao inserir Boleto...<br> ".$sql_insert." <br>";
					
					//return false;
				}
			 
		 }//verifica se chapa esta em branco
			  
	   }//fim la�o foreach
	   echo "Foram Inseridos/Atualizados ".$cont_insert." boletos";
	   echo '<script language="javascript">document.getElementById("information2").innerHTML="Atualiza&ccedil;&atilde;o finalizada..."</script>';
	   return true;
   }
     
    public function excluir($codigo){
		
		$conexao=new Conexao;

		$sql="Delete from boletos Where codigo=".$codigo." ;";

		  if($conexao->execSQL($sql)){
			  $acesso_control=new Acesso_control;
			  $res=$acesso_control->gerar_acesso("Excluiu Boleto de id:".$codigo,str_replace("'","\'",$sql));
				  if(!$res){
					  echo "<script>alert('Sistema em Manuten��o...')</script>";
				  }
			  return 1;
		  }else{
			  return 3;//erro ao excluir
		  }

	}
}
?>
